// #include <iostream>
// using namespace std;
// int main()
// {
//     int n, m;
//     cin >> n >> m;
//     int arr[n][m];
//     for (int i = 0; i < n; i++)
//     {
//         for (int j = 0; j < m; j++)
//         {
//             cin >> arr[n][m];
//         }
//     }
//     int count[n * m];
//     for (int i = 0; i < n; i++)
//     {
//         for (int j = 0; j < m; j++)
//         {
//             cin >> arr[n][m];
//         }
//     }

//     return 0;
// }

// 旧的办法，想遍历用数组来存，很麻烦。

// 用map

#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    unordered_map<int, int> mp;
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n*m; i++)
    {
        int x = 0;
        cin >> x;
        mp[x]++;
    }
    //map遍历的形式要记住
    for (const auto &[x, y] : mp)
    { 
        if (2 * y > n * m)//不写y > n * m / 2,是为了防止向下取整
            cout << x << endl;
    }
}
